草庐IT

javascript - 测试 React 表单组件

全部标签

ruby - 哪种风格,lambda..should 或 expect..to,更适合在 RSpec 中测试预期?

我看到两种样式都被广泛使用:#1lambda{raise"Boom"}.shouldraise_error和#2expect{raise"Boom"}.toraise_error.我喜欢expect..tomore,因为它读起来更好,并且隐藏了过程的创建。我查看了rspec代码,似乎expect..to是suggested,但是我经常遇到使用lambda..should的库。期望..更新,因此还不是“著名”吗? 最佳答案 expect从rspec-2开始使用,之前必须使用lambda。RSpec“正式”建议使用expect,他们可能

ruby-on-rails - 编写 gem 时如何测试虚拟 Rails 应用程序?

我正在编写一个与Rails集成的gem,我希望能够在我的gem的测试套件中使用rspec测试一个虚拟应用程序。当我测试我的虚拟rails应用程序是否通过加载/几个模块时,问题出现了rspec规范/integration/rails/load_path_spec.rb到目前为止,这是我所拥有的:#spec/support/rails_app/config/environment.rb#LoadtheRailsapplication.requireFile.expand_path('../application',__FILE__)#Loadthegemrequire'skinny_con

ruby-on-rails - 使用 simple_form 和 rails 4 创建多个嵌套表单

我正在尝试使用以下模型创建一个简单的应用程序:类别--[has_many]-->问题--[has_many]-->答案我有以下用于创建类别+问题的代码(categories/_form.haml.html):=simple_form_for(@category)do|f|=f.error_notification=f.input:title,label:"Categorytitle:"=f.simple_fields_for:questions,@category.questions.builddo|q|=q.input:content,label:"Questioncontent:"

ruby-on-rails - Rails - 测试 fixture 错误 NoMethodError : undefined method `type' for nil:NilClass

我在运行使用具有模型之间关联的固定装置的测试时遇到问题。这是我一运行raketest就得到的错误:ERROR["test_truth",SevenPortfolioTest,0.005154775]test_truth#SevenPortfolioTest(0.01s)NoMethodError:NoMethodError:undefinedmethod`type'fornil:NilClassERROR["test_should_destroy_item_video",SevenPortfolio::ItemVideosControllerTest,0.008887804]test_

ruby-on-rails - 防止 Rails 测试删除种子数据

我正在使用seeds.rb填充一些状态模型引用数据:State.create:name=>'Alabama',:abbreviation=>'AL'State.create:name=>'Alaska',:abbreviation=>'AK'#...虽然我没有使用状态固定装置(因为它是种子数据,我认为纯粹为了测试而复制它不会是DRY),Rails测试框架似乎删除了所有状态种子数据测试。(我正在删除、重新创建、迁移和重新播种测试数据库,并在单元测试运行之前确认数据在那里。)结果是此断言在seeds.rb中成功但在单行测试中失败:assert_equal51,State.all.size1

ruby - 如何运行独立的 Capybara 测试?

我正在尝试针对远程服务器运行测试。即:require'rubygems'require'capybara'require'capybara/dsl'Capybara.default_driver=:seleniumCapybara.app_host='http://www.google.com'moduleMyCapybaraTestincludeCapybaradeftest_googlevisit('/')endend问题是,你如何运行它? 最佳答案 保存require'rubygems'require'capybara'req

ruby - 如何获得 JavaScript 样式的哈希访问?

我知道ActiveSupport提供了此功能。h=ActiveSupport::OrderedOptions.newh.boy='John'h.girl='Mary'h.boy#=>'John'h.girl#=>'Mary'但是我已经有一个很大的散列,我想使用点表示法访问该散列。这是我尝试过的:large_hash={boy:'John',girl:'Mary'}h=ActiveSupport::OrderedOptions.new(large_hash)h.boy#=>nil那没有用。我怎样才能使这项工作。我正在使用ruby1.9.2更新:抱歉,我应该提到我不能使用openstruc

ruby-on-rails - ActionDispatch::Http::UploadedFile.content_type 未在 Rspec 测试中初始化

背景:我有一个带有cover_file属性的Book模型,该模型通过我的一个RailsController使用上传的文件进行设置。我正在使用Railsv4.0.4。目标:我想测试只保存具有特定内容类型的文件。我计划使用设置了不同content_type属性的ActionDispatch::Http:UploadedFile对象创建Rspec测试示例。问题:当我用content_type初始化一个新的ActionDispatch::Http::UploadedFile时,它似乎没有被设置(请参阅下面的测试和输出,确认它为零)。看来我只能在UploadedFile初始化后用setter设置

ruby-on-rails - 如何在 Capybara 和 RSpec 中测试 CSV 文件下载?

Controller中的内容如下:respond_todo|format|format.csv{send_dataas_csv,type:'text/csv'}end在规范中:click_link'DownloadCSV'page.driver.browser.switch_to.alert.acceptexpect(page).tohave_contentcsv_data但这行不通:Failure/Error:page.driver.browser.switch_to.alert.acceptSelenium::WebDriver::Error::NoAlertPresentErro

ruby-on-rails - Ruby on Rails - 为什么要使用测试?

我对RubyonRails中的各种测试设备的用途感到困惑。我已经使用该框架大约6个月了,但我从未理解它的测试部分。我使用过的唯一测试是Java中的JUnit3,而且只是简短的。我读过的关于它的一切都只是显示了测试验证。rails中的验证不应该起作用吗?看起来更像是测试框架而不是测试您的代码。为什么需要测试验证?此外,测试对于代码中的任何更改似乎都非常脆弱。因此,如果您更改模型中的任何内容,则必须更改测试和装置以匹配。这不是违反了DRY原则吗?第三,编写测试代码似乎需要很多时间。这是正常的吗?刷新我的浏览器并查看它是否有效不是更快吗?我已经不得不使用我的应用程序来查看它是否正确流动并确保